Title:

Exploratory analysis of the countries

Description:

We are going to perform an exploratory analysis of the database countries of the world.csv in order to understand the data of these countries in 2018.

Author:

Jose Lopez Galdon

Date:

23/10/2020

Version:

1.0


Importación de librerías y carga de datos

En primer lugar, vamos a importar las librerias necesarias para nuestro analisis:

En segundo lugar, importamos nuestra base de datos:


Diccionario

Country: Listado de paises del mundo ordenados alfabéticamente.

Region: Zona geográfica dónde se encuentra el país.

Population: Población del país en habitantes.

Area (sq. mi.): Superficie del país medida en millas cuadradas.

Pop. Density (per sq. mi.): Densidad de población (habitante/sq. mi.).

Coastline (coast / area ratio): Ratio de costa en proporción al área.

Net migration: El saldo migratorio, o migración neta, es el balance que existe entre la inmigración y la emigración en un determinado lugar y en un determinado periodo de tiempo.

Infant mortality (per 1000 births): Tasa de mortalidad infantil, es decir, la cantidad de muertes por cada 1000 nacimientos.

GDP (dollar per capita): PIB per cápita

Literacy (%): Tasa de alfabetización.

Phones (per 1000): Teléfonos móviles por cada 1000 habitantes.

Arable (%): Terreno cultivale.

Crops (%): Terreno cultivado.

Other (%): Otros terrenos.

Climate: Clima del lugar.

Birhtrate: Tasa de natalidad.

Deathrate: Tasa de mortalidad.

Agriculture: Aportación del sector primario al PIB.

Industry: Aportación del sector secundario al PIB.

Service: Aportación del sector terciario al PIB.


EDA con pandas profiling

Vamos a generar un primer EDA con la función ProfileReport para observar de manera sencilla los datos y algunos de sus gráficos.


EDA

Visualización de los datos y transformación para su posterior análisis

Vamos a observar de qué tipo son los datos para ver si podemos comenzar a trabajar con ellos

Como podemos obsrvar muchas de las columnas como Pop. Density o Coastline son tipo objeto y deberían ser de tipo float. Para solventar este problema vamos a cambiar uno a uno el tipo de columnas.

En esta ocasión, si tenemos bien los tipos de datos, ya que aparecen como float los datos con los que trabajaremos y tenemos '.' en lugar de ','

Continuaremos con el tratamiento de los valores nulos, ya que como podemos observar en Andorra o American Samoa tenemos NaN

Como podemos observar más arriba tenemos valores nulos en las columnas migration, infant_mortality, gdp, literacy, phones, arable, crop, other, climate, birhtrate, deathrate, agriculture, industry y service.

Para solucionar el problema, sustituiremos los NaN por la media de ese campo, de manera que no tendremos errores por NaN.

Nuestra base de datos ya está lista para el EDA, por lo que la guardaremos en la carpeta _lab00 > data > 02intermediate



Estadísticos principales

A continuación, generamos una tabla con la información estadística más relevante que iremos comentando en los siguientes apartados con apoyo de los gráficos correspondientes.


Histogramas

A continuación, dibujaremos los histogramas de las variables numéricas, para ello seleccionaremos las variables numéricas, recordemos que en nuestro dataset tenemos tres tipos de variables:

Una vez tenemos nuestro dataframe numérico, podemos realizar los histogramas de estas variables:


Correlaciones

En probabilidad y estadística, la correlación indica la fuerza y la dirección de una relación lineal y proporcionalidad entre dos variables estadísticas. Se considera que dos variables cuantitativas están correlacionadas cuando los valores de una de ellas varían sistemáticamente con respecto a los valores homónimos de la otra: si tenemos dos variables (A y B) existe correlación entre ellas si al disminuir los valores de A lo hacen también los de B y viceversa.

En nuestro caso, calcularemos la matriz de correlaciones y después realizaremos un mapa de calor o heatmap para entenderlo mejor.

Heatmap

Pairplot

En el gráfico situado en la parte superior tenemos el mapa de calor con las correlaciones, de esta manera podemos observar de una manera más clara las correlaciones entre las distintas variables.

Como podemos observar, la variable phones esta altamente correlacionado con gdp esto tiene sentido, ya que a mayor renta más gasto en teléfonos podemos obtener.

En el caso opuesto, es decir, correlación negativa tenemos el ejemplo de service con infant mortality , esto significa que a mayores servicios menor es la mortalidad infantil, dicho de otra manera, la sanidad forma parte del sector terciario o service , por lo que, si tenemos una mejor sanidad tendremos una menor mortalidad infantil.

Vamos a analizar el caso de la variable phones con gdp

Como podemos obervar en el gráfico superior, existe una correlación positiva entre teléfonos móviles por cada 1000 habitantes y la renta.


Análisis de regiones

A continuación, vamos a realizar a investigar la variable regiones, de manera que podamos clasificar en siguientes apartados por regiones.

Para ello comenzaremos, averiguando cuántos países hay por región.

Más arriba tenemos la lista de regiones ordenada por número de países. Para tener la información de manera más visual, realizaremos un gráfico de barras:

Como podemos observar la región SUB-SAHARIANA AFRICA tiene más de 50 países, seguida por LATIN AMER. & CARIB con 45, mientras que las regiones que menos países tienen son BALTICS y NORTHERN AMERICA.

Continuaremos analizando el PIB de estas 11 regiones a través de un Boxplot:

En el gráfico situado más arriba tenemos los diagramas de caja del PIB de cada región. Principalmente encontramos tres grupos diferenciados:

En primer lugar, el grupo de PIB BAJO o baja renta podemos observar como la dispersión de los datos no es muy elevada comparada con los otros grupos, es decir, si nos fijamos en la morfología de los boxplots los bigotes o whiskers no se alejan de la caja en exceso, esto nos indica que la mayoría de la población se encuentra representada por el 50% de los datos.

En cuanto al grupo de PIB MEDIO o renta media encontramos una mayor dispersión de los datos, en algunos de ellos podemos observar como los datos presentan una asimetría positiva (es decir, los datos se concentran en la parte inferior de la distribución) como es el caso de ASIA (EX. NEAR EAST). En este grupo también encontramos ejemplos de asimetría negativa (los datos se encuentran en la parte superior de la distribución) como es el caso de NORTHERN AFRICA.

Por último, está el grupo de PIB ALTO o renta alta en este caso tenemos solo dos regiones NORTHERN AMERICA con una gran dispersión de los datos, es decir, encontraremos a paises con rentas por debajo de los 10000 USD y otros con rentas superiores a los 40000 USD. También tenemos a WESTERN EUROPE , esta región presenta una menor dispersión de los datos, lo que nos indica que existe una clase gran clase media que representa a la población con una renta media de 28000 USD


Análisis de la tasa de natalidad y mortalidad

En el siguiente apartado analizaremos las tasas de natalidad y mortalidad, de manera que comparemos los países más pobres con los más ricos.

Como podemos observar, en la parte superior están los países con menor riqueza como East Timor o Somalia, mientras que en el lado opuesto tenemos a Noruega o Luxemburgo.

A continuación, vamos a generar un gráfico interactivo con las tasas de natalidad y mortalidad infantil de los 50 países más pobres.

Como podemos observar en el gráfico interactivo de la parte superior, tanto la tasa de natalidad y mortalidad en los países más pobres son bastante altas, situándose la media de natalidad en torno al 35% y la de mortalidad en torno al 13%.

Una vez visto el gráfico de los 50 países más pobres, vamos a realizar el de los 50 más ricos.

Sin embargo, en los países más ricos podemos observar como estas tasas son batante bajas, y se reducen conforme aumenta la renta. Así países como Luxemburgo, presentan una tasa de natalidad de casi el 12% y una de mortalidad de 8.4%

Por lo que podemos concluir, que a mayor renta menores tasa de natalidad y de mortalidad.


Análisis del tejido sectorial

En este apartado trataremos de interpretar y visualizar la representación de los 3 sectores en relación al PIB. Para ello, volveremos a trabajar con nuestros dos nuevos DataFrames el de los 50 países más pobres y los 50 países más ricos, con el objetivo de explicar las diferencias existentes entre estos países.

En cuanto a la distribución de los sectores económicos vemos como es muy similar en los países pobres, estos le dan un gran peso al sector primario, en algunos casos, tanto es así que supera el 70% como es el caso de Liberia.

En este caso, podemos observar como los 50 países más ricos tienen una distribución totalmente diferente, ya que se apoyan sobre todo en el sector servicios, parcialmente en industria y destinan menos del 10% a la agricultura.

Por lo tanto, deducimos que los países con más ricos son aquellos intensivos en el sector servicios, mientras que los países en desarrollo tienen una proporción similar en los sectores económicos.



Referencias

92 Control color in seaborn heatmaps. Recuperado de https://python-graph-gallery.com/92-control-color-in-seaborn-heatmaps/Hunter

Matplotlib. Recuperado de https://matplotlib.org/McKinney

Pandas. Recuperado de https://pandas.pydata.org/docs/getting_started/index.htmlMyCS

Data visualization with plotly | Python Plotly Tutorial [Archivo de vídeo]. Recuperado de https://www.youtube.com/watch?v=87jyeklhTH8&ab_channel=MyCSOliphant

Numpy. Recuperado de https://numpy.org/Plotly

Chart-Studio. Recuperado de https://plotly.com/chart-studio/Plotly

Plotting a diagonal correlation matrix. Recuperado de https://seaborn.pydata.org/examples/many_pairwise_correlations.htmlSbrugman

pandas-profiling/pandas-profiling. Recuperado de https://github.com/pandas-profiling/pandas-profilingSeaborn

Seabron. Recuperado de https://seaborn.pydata.org/index.htmlTuatini

Detailed exploratory data analysis with python. Recuperado de https://www.kaggle.com/ekami66/detailed-exploratory-data-analysis-with-python